/**
 * Created by ZhuChunXiao on 2017/7/6.
 */
var appId="8aaf07085c9b999c015caaa8ba8e0987";//im的应用ID
var appToken="0859dd9766d0bae56a048050ff0aa15f";//im的应用Token
var username=$("#userName").val();
var userid=$("#userId").val();

var loginTime=new Date().getTime();
console.log("登陆的时间："+loginTime);

//获取时间戳登陆使用
function getTimeStamp() {
    var now = new Date();
    var timestamp = now.getFullYear() + '' + ((now.getMonth() + 1) >= 10 ? "" + (now.getMonth() + 1) : "0" + (now.getMonth() + 1)) + (now.getDate() >= 10 ? now.getDate() : "0" + now.getDate()) + (now.getHours() >= 10 ? now.getHours() : "0" + now.getHours()) + (now.getMinutes() >= 10 ? now.getMinutes() : "0" + now.getMinutes()) + (now.getSeconds() >= 10 ? now.getSeconds() : "0" + now.getSeconds());
    return timestamp;
}

//获取sig登陆使用
function getSig(account_number) {
    //仅用于本地测试，官方不推荐这种方式应用在生产环境
    //没有服务器获取sig值时，可以使用如下代码获取sig
    var sig = hex_md5(appId + account_number + getTimeStamp() + appToken);
    console.log("本地计算sig：" + sig);
    return sig;
}

//格式化日期（如果是今天的就只显示时分秒）
function formatDate(date){
    var chatDate=new Date(date);
    var nowDate=new Date();
    var formatDate="";
    if(chatDate.getFullYear()==nowDate.getFullYear()&&chatDate.getMonth()==nowDate.getMonth()&&chatDate.getDate()==nowDate.getDate()){
        formatDate=chatDate.getHours()+":"+chatDate.getMinutes()+":"+chatDate.getSeconds()
    }else{
        formatDate=chatDate.getFullYear()+"-"+(chatDate.getMonth()+1)+"-"+chatDate.getDate()+" "+chatDate.getHours()+":"+chatDate.getMinutes()+":"+chatDate.getSeconds();
    }
    return formatDate;
};

///格式化文件大小
function formatFileSize(fileSize) {
    if (fileSize < 1024) {
        return fileSize + '字节';
    } else if (fileSize < (1024*1024)) {
        var temp = fileSize / 1024;
        temp = temp.toFixed(2);
        return temp + 'KB';
    } else if (fileSize < (1024*1024*1024)) {
        var temp = fileSize / (1024*1024);
        temp = temp.toFixed(2);
        return temp + 'MB';
    } else {
        var temp = fileSize / (1024*1024*1024);
        temp = temp.toFixed(2);
        return temp + 'GB';
    }
}

//初始化成功后准备登陆
function getLoginBuilder(){
    var loginBuilder = new RL_YTX.LoginBuilder();
    loginBuilder.setType(1);//登录类型 1账号登录，3voip账号密码登录
    loginBuilder.setUserName(userid);//设置用户名
    //loginBuilder.setPwd();//type值为1时，密码可以不赋值
    loginBuilder.setSig(getSig(userid));//设置sig
    loginBuilder.setTimestamp(getTimeStamp());//设置时间戳
    return loginBuilder;
}

//执行登陆
function doLogin(isReLogin){

    RL_YTX.login(getLoginBuilder(), function(obj){

        //消息监听
        RL_YTX.onMsgReceiveListener(function(obj) {
            MY_onMsgReceiveListener(obj);
        });

        //注册群组通知事件监听
        RL_YTX.onNoticeReceiveListener(function(obj){
            MY_onGroupListener(obj);
        });

        //连接状态变更
        RL_YTX.onConnectStateChangeLisenter(function(obj){
            // obj.code;//变更状态 1 断开连接 2 重连中 3 重连成功 4 被踢下线 5 断开连接，需重新登录
            // 断线需要人工重连
            console.log(obj);
            switch(obj.code){
                case 1:
                    __toastr_error("您已断开连接！");
                    break;
                case 2:
                    __toastr_error("重新连接中！");
                    break;
                case 3:
                    //__toastr_success("连接成功！");
                    console.log("链接成功");
                    break;
                case 4:
                    __toastr_error("您已被踢下线！");
                    break;
                case 5:
                    //__toastr_error("断开连接，请刷新或重新登陆！");
                    console.log("断开连接，请刷新或重新登陆！");
                    doLogin(1);//定时器获取好友在线状态到一定次数时会断开连接，自动重新登陆！！！
            }
        });

        //登录成功回调
        if(isReLogin!=1){
            setNickName();//登陆后设置个人信息的姓名
            setFriend();//登录成功后获取好友列表和聊天记录
            getMyGroup(true);//获取群组列表并且获取群组的聊天记录
        }


    }, function(obj){
        //登录失败方法回调
        alert("即时通讯登陆失败,请刷新重试");
    });
}

$(function(){

    //初始化
    var resp = RL_YTX.init(appId);
    if(170002== resp.code){
        alert("缺少必要的参数");
    }else if(174001 == resp.code){
        alert("不支持HTML5");
    }else if(200 == resp.code){
        //初始化成功
        //判断不支持的功能，屏蔽页面展示
        console.log(resp);
        RL_YTX.setLogClose();//关闭日志输出

        doLogin();//执行登陆
    }

    //初始化表情
    var content_emoji = '';
    for(var i in emoji.show_data) {
        var c = emoji.show_data[i];
        var out = emoji.replace_unified(c[0][0]); //'onclick="IM.DO_chooseEmoji(\'' + i + '\', \'' + c[0][0] + '\')" '
        content_emoji += '<span data-emoji-unified=' + i + ' data-emoji-unicode=' + c[0][0] + ' imtype="content_emoji">' + out + '</span>';
    }
    $("#faceContainer").append(content_emoji);


    //var aa=0;
    //setInterval(function(){//每隔秒获取一次好友在线状态
    //    console.log("第"+(++aa)+"次获取");
    //    var friendArr=[];
    //    $(".friendBox").each(function(){
    //        friendArr.push($(this).attr("data-im-contact"));
    //    });
    //    isOnline(friendArr);
    //},2000)

});



//登陆后设置个人信息的姓名
function setNickName(){
    var uploadPersonInfoBuilder = new RL_YTX.UploadPersonInfoBuilder();
    uploadPersonInfoBuilder.setNickName(username);
    RL_YTX.uploadPersonInfo(uploadPersonInfoBuilder);
}

//登录成功后获取好友列表和聊天记录
function setFriend(){
    var url="../com/friend/list";
    __ajax_get(url,null,function(data){
        console.log(data);
        for(var i=0;i<data.friendList.length;i++){

            //将好友添加进好友列表中
            if($("[data-im-contact='"+data.friendList[i].id+"']").size()==0){
                var newFriend='<a href="javascript:void(0);" class="list-group-item friendBox" data-im-contact="'+data.friendList[i].id+'" data-im-online=0>'+
                    '<div class="media-left pos-rel">'+
                    '<img class="img-circle img-xs" src="../resource/core/img/profile-photos/1.png" alt="Profile Picture">'+
                    '<i class="badge badge-stat badge-icon pull-left"></i>'+
                    '</div>'+
                    '<div class="media-body">'+
                    '<p class="mar-no">'+data.friendList[i].name+'</p>'+
                    '<span style="display: none">'+data.friendList[i].id+'</span>'+
                    '<small class="text-muted">Availabe</small>'+
                    '</div>'+
                    '<button class="delFriend btn-xs btn-danger chatHidden">×</button>'+
                    '<span class="pull-left badge badge-info unread chatHidden">0</span>'+
                    '</a>';
                $("#friendContainer").append(newFriend);
                //添加一个聊天窗口
                var newChatUl='<ul class="list-unstyled media-block chatHidden" data-im-ul="'+data.friendList[i].id+'"></ul>';
                $("#chatContent").append(newChatUl);
            }


            //添加好友的聊天记录
            var chatLog=data.friendList[i].chatLog;
            for(var k=0;k<chatLog.length;k++){
                var msgId=chatLog[k].msgId;
                if($("[data-msg-id="+msgId+"]").size()==0){
                    addChatLogHtml(chatLog[k],data.friendList[i].id);
                }
            }
            if(chatLog.length>0){
                setLastChat(chatLog[0].chatType,data.friendList[i].id,chatLog[0].content);//设置最后一句聊天
            }

        }
        showDelFriend();//一些公共的操作

        ////设置在线状态并排序
        //var arr=[];
        //for(var j=0;j<$(".friendBox").length;j++){
        //    var friendId=$(".friendBox")[j].getElementsByTagName("span")[0].innerText;
        //    arr.push(friendId);
        //}
        //isOnline(arr);

    });
}

/**
 * 登陆后初始化聊天记录
 * @param chatLog 一条聊天记录对象
 * @param friendId 好友id
 */
function addChatLogHtml(chatLog,friendId){
    var content="";
    if(chatLog.chatType==1||chatLog.chatType==""){
        content=chatLog.content;
    }else if(chatLog.chatType==4){
        content='<a class="imgBox" href="'+chatLog.fileAddress +'"><img class="chatImg" src="' +chatLog.fileAddress + '" /></a>';
    }else if(chatLog.chatType==7){
        content='<a class="chatFileUrl btn btn-info btn-icon" href="'+chatLog.fileAddress+'" target="_blank" download="'+chatLog.fileName+'" ><i class="ti-import"></i>   '+chatLog.fileName+' <br/>文件大小：'+formatFileSize(chatLog.fileSize)+'</a>';
    }
    if(chatLog.senderId==userid){
        var newChatBubble='<li class="mar-btm" data-msg-id="'+chatLog.msgId+'">'+
        '<div class="media-right">'+
        '<img src="../resource/core/img/profile-photos/4.png" class="img-circle img-sm" alt="Profile Picture">'+
        '</div>'+
        '<div class="media-body pad-hor speech-right">'+
        '<div >'+
        '<p class="media-heading"><span class="chatTime">'+chatLog.date+'</span> '+chatLog.sender+'</p>'+
        '<p class="speech">'+content+'</p>'+
        '<p class="speech-time">'+
            //'<i class="ti-alarm-clock icon-fw"></i>'+chatLog[k].date+
        '</p>'+
        '</div>'+
        '</div>'+
        '</li>';
    }else{
        var newChatBubble='<li class="mar-btm" data-msg-id="'+chatLog.msgId+'">'+
        '<div class="media-left">'+
        '<img src="../resource/core/img/profile-photos/3.png" class="img-circle img-sm" alt="Profile Picture">'+
        '</div>'+
        '<div class="media-body pad-hor">'+
        '<div>'+
        '<p class="media-heading">'+chatLog.sender+' <span class="chatTime">'+chatLog.date+'</span></p>'+
        '<p class="speech">'+content+'</p>'+
        '<p class="speech-time">'+
            //'<i class="ti-alarm-clock icon-fw"></i>'+chatLog[k].date+
        '</p>'+
        '</div>'+
        '</div>'+
        '</li>';
    }
    $("[data-im-ul='"+friendId+"']").prepend(newChatBubble);

    if(chatLog.chatType==4){
        setShowImg($(".imgBox"));
    }
}

/**
 * 初始化聊天图片弹出框
 * @param imgBox 一个包含在a标签里的img
 */
function setShowImg(imgBox){
    imgBox.fancybox({
        padding: 0,
        openEffect : 'elastic',
        openSpeed  : 150,
        closeEffect : 'elastic',
        closeSpeed  : 150,
        closeClick : true,
        helpers : {
            title : {
                type : 'outside'
            },
            overlay : null
        }
    });
}

//发送消息
$("#chatSend").click(function(){
    var friendId=$("#toSend").val();
    var sendContent=$("#sendContent").html();
    send(friendId,sendContent);
});

//添加好友
$("#addFriend").click(function(){
    __open_dialog_select('选择成员', 'member/dialog', function (dialogRef) {
        var callback = function (data) {
            if (data) {
                dialogRef.close();

                // 获取 user
                $('#friendId').val(data.id);
                $('#friendName').val(data.name);

                var isAdd=true;
                $(".friendBox").each(function(){
                    if($(this).find("span:eq(0)").text()==data.id){
                        isAdd=false;
                        __toastr_error("你们已经是好友了！");
                        return false;
                    }else if(userid==data.id){
                        isAdd=false;
                        __toastr_error("不能添加自己为好友！");
                        return false;
                    }
                });
                if(isAdd){
                    addFriend(data.id,data.name);
                }


            } else {
                dialogRef.enableButtons();
            }
        };
        fn_dialog_member_select(callback);
    });
});

//进行数据库和界面的的添加好友操作
function addFriend(friendId,friendName){
    var url="../com/friend/add";
    var param={"friendId":friendId};
    __ajax_post(url,param,function(data){
        if(data.state==1){
            //在好友列表中新添加一个用户
            if($("[data-im-contact='"+friendId+"']").size()==0){
                var newFriend='<a href="javascript:void(0);" class="list-group-item friendBox" data-im-contact="'+friendId+'" data-im-online=0>'+
                    '<div class="media-left pos-rel">'+
                    '<img class="img-circle img-xs" src="../resource/core/img/profile-photos/1.png" alt="Profile Picture">'+
                    '<i class="badge badge-stat badge-icon pull-left"></i>'+
                    '</div>'+
                    '<div class="media-body">'+
                    '<p class="mar-no">'+friendName+'</p>'+
                    '<span style="display: none">'+friendId+'</span>'+
                    '<small class="text-muted">Availabe</small>'+
                    '</div>'+
                    '<button class="delFriend btn-xs btn-danger chatHidden">×</button>'+
                    '<span class="pull-left badge badge-info unread chatHidden">0</span>'+
                    '</a>';
                $("#friendContainer").append(newFriend);
                //添加一个聊天窗口
                var newChatUl='<ul class="list-unstyled media-block chatHidden" data-im-ul="'+friendId+'"></ul>';
                $("#chatContent").append(newChatUl);

                showDelFriend();//一些公共的操作

                //设置在线状态
                //var arr=[friendId];
                //isOnline(arr);
            }

        }

    });

}

//设置好友是否在线 传过来一个保存好友ID的数组
//不能用了
//function isOnline(friendArr){
//    var getUserStateBuilder = new RL_YTX.GetUserStateBuilder();
//    getUserStateBuilder.setNewUserstate(true);//使用新SDK的用户状态
//    getUserStateBuilder.setUseracc(friendArr);
//    RL_YTX.getUserState(getUserStateBuilder, function(obj) {
//        //获取成功
//        //obj[i].useracc 对方账号
//        //obj[i].state 对方在线状态1:在线2:离线当用户为离线状态时，obj.state,obj.network和obj.device为undefined
//        //obj[i].network对方网络状态 1:WIFI 2:4G 3:3G 4:2G(EDGE) 5: INTERNET  6: other
//        //obj[i].device对方登录终端1:Android 2:iPhone10:iPad11:Android Pad20:PC 21:H5
//        console.log(obj);
//        for(var i=0;i<obj.length;i++){
//            if(obj[i].state==1){//如果在线 角标设置为绿色并移动到前面
//                if($("[data-im-contact='"+obj[i].useracc+"']").attr("data-im-online")!=obj[i].state){
//                    $("[data-im-contact='"+obj[i].useracc+"']").attr("data-im-online",obj[i].state);
//                    $("[data-im-contact='"+obj[i].useracc+"']").find("i").addClass("badge-success");
//                    $("#friendContainer").prepend($("[data-im-contact='"+obj[i].useracc+"']"));
//                }
//            }else{
//                if($("[data-im-contact='"+obj[i].useracc+"']").attr("data-im-online")!=obj[i].state){
//                    $("[data-im-contact='"+obj[i].useracc+"']").attr("data-im-online",obj[i].state);
//
//                    $("[data-im-contact='"+obj[i].useracc+"']").find("i").removeClass("badge-success");
//                    $("#friendContainer").append($("[data-im-contact='"+obj[i].useracc+"']"));
//                }
//            }
//        }
//    }, function(obj) {
//        if (174006 != obj.code) {
//            console.log("错误码：" + obj.code + "; 错误描述：" + obj.msg);
//            console.log(obj);
//        }
//    });
//}

//一些公共的操作
function showDelFriend(){

    //鼠标滑过一名好友时
    $(".friendBox").mouseover(function(){
        $(this).find("button").show();
    });
    $(".friendBox").mouseout(function(){
        $(this).find("button").hide();
    });

    //删除好友
    $(".delFriend").unbind("click").bind("click",(function(){
        var thisFriend=$(this).parent();
        var friendId=$(this).parent().find("span:eq(0)").text();
        var url="../com/friend/del";
        var param={"friendId":friendId};
        __confirm_dialog("提示","确认删除好友吗",function(){
            __ajax_post(url,param,function(data){
                thisFriend.remove();//从好友列表中删除
                $("[data-im-ul="+friendId+"]").remove();//删除此好友的聊天窗口
                $("#toSend").val("");
                $("#chatTitle").text("Chat");
            })
        });
    }));

    //点击一名好友时
    $("#friendContainer>a,#groupContainer>a").unbind("click").bind("click",(function(){
        var friendId=$(this).find("span:eq(0)").text().trim();
        var friendName=$(this).find("p").text();
        var groupOwner=$(this).attr("data-im-owner");
        setChatInfo(friendId,friendName,groupOwner);
    }));

}

/**
 * 发送文本消息
 * @param friendId 好友id
 * @param sendContent 消息内容
 * @returns {boolean}
 */
function send(friendId,sendContent){

    if(friendId==""||friendId==null){
        __toastr_error("请选择一名好友！");
        return false;
    }
    if(sendContent==""||sendContent==null){
        __toastr_error("请填写发送内容！");
        return false;
    }

    var obj = new RL_YTX.MsgBuilder();//新建消息体对象
    var msgId=new Date().getTime()+Math.round(Math.random());
    obj.setDomain(msgId);//利用自定义消息接口来设置消息id!!
    obj.setText(sendContent);//设置发送的文本内容
    obj.setType(1);//设置发送的消息类型1文本消息4 图片消息6 附件消息
    obj.setReceiver(friendId);//设置接收者
    RL_YTX.sendMsg(obj, function(obj){//发送消息成功
        console.log(obj);
        var ownChatBubble='<li class="mar-btm" data-msg-id='+msgId+'>'+
            '<div class="media-right">'+
            '<img src="../resource/core/img/profile-photos/4.png" class="img-circle img-sm" alt="Profile Picture">'+
            '</div>'+
            '<div class="media-body pad-hor speech-right">'+
            '<div>'+
            '<p class="media-heading"><span class="chatTime">'+formatDate(new Date())+'</span> '+username+'</p>'+
            '<p  class="speech">'+sendContent+'</p>'+
            '<p class="speech-time">'+
            //'<i class="ti-alarm-clock icon-fw"></i>'+formatDate(new Date())+
            '</p>'+
            '</div>'+
            '</div>'+
            '</li>';
        $("[data-im-ul="+friendId+"]").append(ownChatBubble);
        $("#sendContent").html("");
        $("#chatContent").animate({"scrollTop":$("[data-im-ul="+friendId+"]").height()});

        //发送后将此好友移动到第一个
        if('g' == friendId.substr(0, 1)){//接受者id第一个字母是g的话就是群组消息
            $("#groupContainer").prepend($("[data-im-contact='"+friendId+"']"));
        }else{
            $("#friendContainer").prepend($("[data-im-contact='"+friendId+"']"));
        }
        console.log("消息:"+sendContent);

        setLastChat(1,friendId,sendContent);

        //聊天记录保存到数据库
        var url="../com/friend/addChatLog";
        var params={"friendId":friendId,"content":sendContent,"chatType":"1","msgId":msgId};
        __ajax_post(url,params);


    }, function(obj){//失败
        //发送消息失败
        __toastr_error("发送失败");
        console.log(obj);
    }, function(sended, total){
        //发送图片或附件时的进度条
        //如果发送文本消息，可以不传该参数
    });
}

//按回车键发送
$(document).keydown(function(event){
    if($("#sendContent").is(":focus")&&event.keyCode==13){
        $("#chatSend").click();
        return false;
    }
});

//消息监听
function MY_onMsgReceiveListener(obj){
    console.log(obj);

    var trueReceive;
    var b_isGroupMsg = ('g' == obj.msgReceiver.substr(0,1));
    var friendName=obj.senderNickName;
    if(!friendName) friendName=obj.msgSenderNick;
    if(!b_isGroupMsg){//普通消息
        trueReceive=obj.msgSender;

        //先判断发送者是不是自己的好友
        var isFriend=true;
        if($("[data-im-contact="+trueReceive+"]").size()>0){//已经是好友
            if(($("#toSend").val()!=trueReceive)||(!$("#container").hasClass("aside-in"))){//如果当前的聊天界面不属于该好友或者好友栏是关闭状态 设置未读消息数
                setUnread(trueReceive);
            }
        }else{//不是好友，自动添加为好友,然后设置未读消息数
            addFriend(trueReceive,friendName);
            var setUnred=setInterval(function(){
                if($("[data-im-contact="+trueReceive+"]").size()>0){
                    setUnread(trueReceive);
                    clearInterval(setUnred);
                }
            },1000);
            isFriend=false;
        }
    }else{//群聊消息
        trueReceive=obj.msgReceiver;
        if($("[data-im-contact="+trueReceive+"]").size()>0){
            if(($("#toSend").val()!=trueReceive)||(!$("#container").hasClass("aside-in"))){//如果当前的聊天界面不属于该好友或者好友栏是关闭状态 设置未读消息数
                setUnread(trueReceive);
            }
        }else{//离线群聊消息
            var addUnread=setInterval(function(){
                if(($("#toSend").val()!=trueReceive)||(!$("#container").hasClass("aside-in"))){//如果当前的聊天界面不属于该好友或者好友栏是关闭状态 设置未读消息数
                    setUnread(trueReceive);
                    clearInterval(addUnread);
                }
            },1000);
        }

    }



    //讲新消息添加进聊天窗口
    var content="";
    if(obj.msgType==1){
        content=obj.msgContent;
    }else if(obj.msgType==4){
        content='<a class="imgBox" href="'+obj.msgFileUrl +'"><img class="chatImg" src="' +obj.msgFileUrl + '" /></a>';
    }else if(obj.msgType==7){
        content='<a class="chatFileUrl btn btn-info btn-icon" href="'+obj.msgFileUrl+'" target="_blank" download="'+obj.msgFileName+'" ><i class="ti-import"></i>   '+obj.msgFileName+' <br/>文件大小：'+formatFileSize(obj.msgFileSize)+'</a>';
    }
    var friendChatBubble='<li class="mar-btm" data-msg-id="'+obj.msgDomain+'">'+
        '<div class="media-left">'+
        '<img src="../resource/core/img/profile-photos/3.png" class="img-circle img-sm" alt="Profile Picture">'+
        '</div>'+
        '<div class="media-body pad-hor">'+
        '<div>'+
        '<p class="media-heading">'+friendName+'<span> '+formatDate(new Date(parseInt(obj.msgDateCreated)))+'</span></p>'+
        '<p class="speech">'+content+'</p>'+
        '<p class="speech-time">'+
            //'<i class="ti-alarm-clock icon-fw"></i>'+formatDate(new Date())+
        '</p>'+
        '</div>'+
        '</div>'+
        '</li>';
    //if(now.getTime()-loginTime>2000){
    //    if($("[data-im-ul="+trueReceive+"]").size()>0){//是好友关系的在线消息
    //        $("[data-im-ul="+trueReceive+"]").append(friendChatBubble);
    //    }else{//不是好友的在线消息
    //        var addChat=setInterval(function(){
    //            if($("[data-im-ul="+trueReceive+"]").size()>0){
    //                $("[data-im-ul="+trueReceive+"]").append(friendChatBubble);
    //                clearInterval(addChat);
    //            }
    //        },1000);
    //    }
    //}else{
    //    if($("[data-im-ul="+trueReceive+"]").size()==0){//不是好友的离线消息
    //        var addChat=setInterval(function(){
    //            if($("[data-im-ul="+trueReceive+"]").size()>0){
    //                $("[data-im-ul="+trueReceive+"]").append(friendChatBubble);
    //                clearInterval(addChat);
    //            }
    //        },1000);
    //    }
    //}
    if($("[data-msg-id='"+obj.msgDomain+"']").size()>0){//说明是离线消息
        if($("[data-im-ul="+trueReceive+"]").size()==0){//不是好友的离线消息
            var addChat=setInterval(function(){
                if($("[data-im-ul="+trueReceive+"]").size()>0){
                    $("[data-im-ul="+trueReceive+"]").append(friendChatBubble);
                    clearInterval(addChat);
                }
            },1000);
        }
    }else{//正常消息
        if($("[data-im-ul="+trueReceive+"]").size()>0){//是好友关系的在线消息
            $("[data-im-ul="+trueReceive+"]").append(friendChatBubble);
        }else{//不是好友的在线消息
            var addChat=setInterval(function(){
                if($("[data-im-ul="+trueReceive+"]").size()>0){
                    $("[data-im-ul="+trueReceive+"]").append(friendChatBubble);
                    clearInterval(addChat);
                }
            },1000);
        }
    }

    if(obj.msgType==4){
        setShowImg($(".imgBox"));
    }


    setLastChat(obj.msgType,trueReceive,obj.msgContent);

    if(trueReceive==$("#toSend").val()){
        $("#chatContent").animate({"scrollTop":$("[data-im-ul="+trueReceive+"]").height()});
    }

    //如果好友列表栏是关闭的 设置总未读消息数
    if((($("#toSend").val()!=trueReceive)||(!$("#container").hasClass("aside-in")))){
        var allUnread=parseInt($(".allUnread").text());
        allUnread++;
        $(".allUnread").text(allUnread);
        $(".allUnread").removeClass("chatHidden");
    }

    //收到消息后将此好友移动到第一个
    if(b_isGroupMsg){
        $("#groupContainer").prepend($("[data-im-contact='"+trueReceive+"']"));
    }else{
        $("#friendContainer").prepend($("[data-im-contact='"+trueReceive+"']"));
    }


    var c="";
    if(obj.msgType==1){
        c=obj.msgContent;
        if(c.indexOf("<img emoji_value_unicode=")>-1){
            c="[表情]";
        }
    }else if(obj.msgType==4){
        c="[图片]";
    }else if(obj.msgType==7){
        c="[附件]";
    }

    //显示桌面通知
    if(window.Notification){
        function showNotice(){
            var notification = new Notification(friendName+"：", {
                body: c,//通知的主要内容
                icon: '../resource/core/img/profile-photos/3.png',//图片的地址
                tag: trueReceive,//标签
                renotify : true//是否覆盖上一个通知。配合tag使用
            });
            var sound=new Audio("../resource/core/js/im/ring.mp3");
            sound.play();

            notification.onclick=function(){
                window.focus();
                if(!$("#container").hasClass("aside-in")){
                    $("#container").addClass("aside-in");
                }
                setChatInfo(trueReceive,friendName);
                notification.close();

            }
        }
        if(Notification.permission=="granted"){
            showNotice();
        }else{
            Notification.requestPermission().then(function(permission) {
                console.log(permission);
                showNotice();
            });
        }
    }

}


/**
 * 点击一个好友或群组后要做的事情
 * @param friendId 好友id/群组id
 * @param friendName 好友名称/群组名称
 * @param groupOwner 群主id
 */
function setChatInfo(friendId,friendName,groupOwner){

    var thisFriendBox=$("[data-im-contact='"+friendId+"']");
    $("#toSend").val(friendId);//设置接收人
    $("#chatContent>ul").addClass("chatHidden");//所有聊天窗口隐藏
    $("[data-im-ul="+friendId+"]").removeClass("chatHidden");//显示当前好友的聊天敞口
    var thisUnread=parseInt(thisFriendBox.find(".unread").text());//当前好友的未读消息数
    thisFriendBox.find(".unread").text("0");//设置当前未读消息数为0
    thisFriendBox.find(".unread").addClass("chatHidden");//隐藏当前的未读消息数
    $("#chatContent").scrollTop($("[data-im-ul="+friendId+"]").height());//设置聊天窗口的滚动条到最下面
    $(".chatContainer").animate({"top":"41px"},200);//显示聊天窗口
    var allUnread=parseInt($(".allUnread").text());
    var surplusUnread=allUnread-thisUnread;
    $(".allUnread").text(surplusUnread);//设置总未读消息数
    if(surplusUnread<=0){
        $(".allUnread").addClass("chatHidden");//隐藏总未读消息数
    }

    if('g' == friendId.substr(0, 1)){//设置聊天窗口标题，接受者id第一个字母是g的话就是群组消息，要显示群组更多操作按钮
        $("#groupBtn").removeClass("chatHidden");
        $("#chatTitle").attr("data-group-owner",groupOwner);
        if(userid==groupOwner){
            $("#groupDissolution").removeClass("chatHidden");
            $("#groupMemberAdd").removeClass("chatHidden");
            $("#groupQuit").addClass("chatHidden");
            $("#chatTitle").html($("[data-im-contact="+friendId+"]").find("p").text()+'<i style="margin-left: 12px" class="ti-pencil-alt updateGroupBtn"></i>');
        }else{
            $("#groupDissolution").addClass("chatHidden");
            $("#groupMemberAdd").addClass("chatHidden");
            $("#groupQuit").removeClass("chatHidden");
            $("#chatTitle").html($("[data-im-contact="+friendId+"]").find("p").text());
        }
    }else{
        $("#chatTitle").text(friendName);
        $("#groupBtn").addClass("chatHidden");
        $("#chatTitle").attr("data-group-owner","");
    }


    //修改群名
    $(".updateGroupBtn").unbind("click").bind("click",function(){
        __confirm_dialog_input("修改群组名称","新名称","",function(dialogRef,inputValue){
            if(inputValue==""||inputValue==null){
                __toastr_error("请填写群名称");
            }else{
                var modifyGroupBuilder = new RL_YTX.ModifyGroupBuilder();
                var groupId=$("#toSend").val();
                modifyGroupBuilder.setGroupId(groupId);
                modifyGroupBuilder.setGroupName(inputValue);
                RL_YTX.modifyGroup(modifyGroupBuilder, function(e) {
                    __toastr_success("修改成功");
                    $("#chatTitle").text(inputValue);
                    $("[data-im-contact="+groupId+"]").find("p").text(inputValue);
                }, function(e) {
                    __toastr_error(e.msg);
                });
            }
            dialogRef.close();
        });
    });
}

//设置单个好友的未读消息数
function setUnread(friendId){
    var unread=$("[data-im-contact="+friendId+"]").find(".unread");
    unread.text(parseInt(unread.text())+1);
    $("[data-im-contact="+friendId+"]").find(".unread").removeClass("chatHidden");
}

//收起聊天窗口
$("#closeIm,#chatClose").click(function(){
    var lendth=$(".chatContainer").height();
    $(".chatContainer").animate({"top":-lendth},200);
});

//退出
$("#imOut").click(function(){
    RL_YTX.logout(function(){//退出成功
        console.log("IM退出成功");
    },function(obj){//退出失败
        console.log("退出失败 错误码:"+obj.code+" 错误描述:"+obj.msg);
    });
});

//控制聊天窗口和好友栏的同步
$("#tabController").click(function(){
    if($("#container").hasClass("aside-in")){
        var lendth=$(".chatContainer").height();
        $(".chatContainer").animate({"top":-lendth},200);
    }
});

/**
 * 设置好友栏的名字下面为最后一句聊天
 * @param chatType 聊天类型
 * @param friendId 好友id
 * @param lastChat 最后一句聊天内容
 */
function setLastChat(chatType,friendId,lastChat){
    var content="";
    if(chatType==1){
        content=lastChat;
    }else if(chatType==4){
        content="[图片]";
    }else if(chatType==7){
        content="[附件]";
    }
    if($("[data-im-contact='"+friendId+"']").size()>0){
        $("[data-im-contact='"+friendId+"']").find("small").html(content);
    }else{
        var setLast=setInterval(function(){
            if($("[data-im-contact='"+friendId+"']").size()>0){
                $("[data-im-contact='"+friendId+"']").find("small").html(content);
                clearInterval(setLast);
            }
        },1000);
    }

}

//显示表情
$("#showFace").click(function(){
    event.stopPropagation();
    var s=$("#faceContainer");
    s.show();
    $(document).one('click', function(e) {
        s.hide();
    })
});

//选择表情。
$(document).on('click', '[imtype="content_emoji"]', function(e) {
    var unified = $(this).attr('data-emoji-unified');
    //var unicode = $(this).attr('data-emoji-unicode');
    var unicode = "口";
    var content_emoji = '<img emoji_value_unicode="' + unicode + '" style="width:18px; height:18px; margin:0 1px 0 1px;" src="../resource/core/img/img-apple-64/' + unified + '.png"/>';
    var ht = $("#sendContent").html();
    $("#sendContent").html(ht + content_emoji);
});


//点击刷新好友列表
//$("#refreshFriend").click(function(){
//    var friendArr=[];
//    $(".friendBox").each(function(){
//        friendArr.push($(this).attr("data-im-contact"));
//    });
//    isOnline(friendArr);
//    __toastr_success("好友列表已刷新");
//});



$("#toSendPic").unbind("click").bind("click",function(){
    $('#sendPic').click();
});
$("#toSendFile").unbind("click").bind("click",function(){
    $('#sendFile').click();
});

//退出群组
$("#groupQuit").click(function(){
    var groupId=$("#toSend").val();
    __confirm_dialog("退出","确定要退出此群吗？",function(){
        groupQuit(groupId);
    });
});




//发送图片
$(document).on("change", '#sendPic', function(e) {
    for(var i=0 ;i<e.target.files.length ; i++){
        var files = e.target.files[i];
        var msgid = new Date().getTime();
        var type = files.type.indexOf("image") > -1 ? "4" : "7";//如果选择的不是图片格式，就按附件格式发送
        sendFile(msgid,files,type,$("#toSend").val());
    }
    $(this).val("");
});
//发送文件
$(document).on("change", '#sendFile', function(e) {
    for(var i=0 ;i<e.target.files.length ; i++){
        var files = e.target.files[i];
        var msgid = new Date().getTime();
        var type = "7";
        sendFile(msgid,files,type,$("#toSend").val());
    }
    $(this).val("");
});

/**
 * 发送附件图片消息
 * @param msgId 自定义消息id
 * @param file 文件或者图片
 * @param type  类型 4图片 7文件
 * @param receiver 接受者id
 */
function sendFile(msgId, file, type, receiver){
    if(receiver==""||receiver==null){
        __toastr_error("请先选择一位好友");
        return false;
    }
    if(file==""||file==null){
        __toastr_error("请先选择附件");
        return false;
    }
    var urls = window.URL.createObjectURL(file);

    var obj = new RL_YTX.MsgBuilder();
    obj.setId(msgId);
    var msgId=new Date().getTime()+Math.round(Math.random());
    obj.setDomain(msgId);//利用自定义消息接口来设置消息id!!
    obj.setFile(file);
    obj.setType(type);
    obj.setReceiver(receiver);
    RL_YTX.sendMsg(obj, function(obj){
        //发送成功
        console.log(obj);
        var content="";
        if(type==4){
            content='<a class="imgBox" href="'+obj.fileUrl +'"><img class="chatImg" src="' +urls + '" /></a>';
        }else if(type==7){
            content='<a class="chatFileUrl btn btn-info btn-icon" href="'+urls+'" target="_blank" download="'+file.name+'" ><i class="ti-import"></i>   '+file.name+' <br/>文件大小：'+formatFileSize(file.size)+'b</a>';
        }
        var ownChatBubble='<li class="mar-btm" data-msg-id="'+msgId+'">'+
            '<div class="media-right">'+
            '<img src="../resource/core/img/profile-photos/4.png" class="img-circle img-sm" alt="Profile Picture">'+
            '</div>'+
            '<div class="media-body pad-hor speech-right">'+
            '<div >'+
            '<p class="media-heading"><span class="chatTime">'+formatDate(new Date())+'</span> '+username+'</p>'+
            '<p class="speech">'+content+'</p>'+
            '<p class="speech-time">'+
                //'<i class="ti-alarm-clock icon-fw"></i>'+formatDate(new Date())+
            '</p>'+
            '</div>'+
            '</div>'+
            '</li>';
        $("[data-im-ul="+receiver+"]").append(ownChatBubble);

        if(receiver==$("#toSend").val()){
            $("#chatContent").animate({"scrollTop":$("[data-im-ul="+receiver+"]").height()});
        }

        //发送后将此好友移动到第一个
        if('g' == receiver.substr(0, 1)){//接受者id第一个字母是g的话就是群组消息
            $("#groupContainer").prepend($("[data-im-contact='"+receiver+"']"));
        }else{
            $("#friendContainer").prepend($("[data-im-contact='"+receiver+"']"));
        }

        if(type==4){
            setShowImg($(".imgBox"));
        }

        setLastChat(type,receiver,"");

        //聊天记录保存到数据库
        var url="../com/friend/addChatLog";
        var params={"friendId":receiver,"chatType":type,"fileName":file.name,"fileSize":file.size,"fileAddress":obj.fileUrl,"msgId":msgId};
        __ajax_post(url,params);

        //发送成功隐藏进度条
        $("#fileStep").slideDown("fast");
        $("#fileStep div").attr("aria-valuenow",100);
        $("#fileStep div").css("width",'100%');
        $("#fileStep div").text('100%');
        setTimeout(function(){
            $("#fileStep").slideUp("slow",function(){
                $("#fileStep div").attr("aria-valuenow",0);
                $("#fileStep div").css("width",'0%');
                $("#fileStep div").text('0%');
            });
        },1000);
    },function(obj){
        //发送失败
        __toastr_error("发送失败");
        console.log(obj);
    },function(e){
        //附件发送进度
        var step=parseInt(e / file.size * 100);
        //console.log(step + '%');
        if(step>=0&&step<100){
            $("#fileStep").slideDown("fast");
            $("#fileStep div").attr("aria-valuenow",step);
            $("#fileStep div").css("width",parseInt(e / file.size * 100) + '%');
            $("#fileStep div").text(step + '%');
        }
    });
}

/**
 * 群组操作事件监听
 * @param obj
 * @constructor
 */
function MY_onGroupListener(obj){
    console.log(obj);
    // 1,(1申请加入群组，2邀请加入群组，3直接加入群组，4解散群组，5退出群组，6踢出群组，7确认申请加入，8确认邀请加入，
    //9邀请加入群组的用户因本身群组个数超限加入失败(只发送给邀请者)10管理员修改群组信息，11用户修改群组成员名片12新增管理员变更通知)
    var noticeType=obj.auditType;
    if(1==noticeType){//申请加入群组

    }else if(2==noticeType){//邀请加入群组
        var title="系统通知";
        var content="您已加入群组【"+obj.groupName+"】";
        showNotice(title,content);
        getMyGroup(false);

    }else if(3==noticeType){

    }else if(4==noticeType){//解散群组
        if(userid!=obj.admin){
            var title="系统通知";
            var content="群组【"+obj.groupName+"】已被【"+obj.adminName+"】解散";
            showNotice(title,content);
            getMyGroup(false);
        }
        if($("#toSend").val()==obj.groupId){
            $("#toSend").val("");
            $("#chatTitle").html("Chat");
            $("#groupBtn").addClass("chatHidden");
        }
        $("[data-im-ul="+obj.groupId+"]").remove();

    }else if(5==noticeType){//成员主动退出群组
        if($("[data-im-contact="+obj.groupId+"]").attr("data-im-owner")==userid){//只通知给群主
            var title="系统通知";
            var content=obj.memberName+"已经退出群组【"+obj.groupName+"】";
            showNotice(title,content);
        }

    }else if(6==noticeType){//被群主踢出群组
        if(userid==obj.member){
            var title="系统通知";
            var content="您已被群主从【"+obj.groupName+"】踢出了...";
            showNotice(title,content);
            $("[data-im-contact="+obj.groupId+"]").remove();
        }


    }else if(7==noticeType){

    }else if(8==noticeType){//有新成员加入
        if($("[data-im-contact="+obj.groupId+"]").attr("data-im-owner")!=userid){//不用再通知群主了
            var title="系统通知";
            var content=obj.memberName+"已经加入群组【"+obj.groupName+"】";
            showNotice(title,content);
        }

    }else if(9==noticeType){

    }else if(10==noticeType){//修改群信息
        var content="";
        if(obj.ext!=""||obj.ext!=null){//改群公告
            content="群组【"+obj.groupName+"】有新公告，请查看";
        }else{
            content="群"+obj.groupId+"已被群主改名为【"+obj.groupName+"】";
        }
        if(obj.admin!=userid){
            var title="系统通知";
            showNotice(title,content);
            $("[data-im-contact="+obj.groupId+"]").find("p").text(obj.groupName);
            if($("#toSend").val()==obj.groupId){
                $("#chatTitle").text(obj.groupName);
            }
        }

    }else if(11==noticeType){

    }else if(12==noticeType){

    }
}



//点击创建群组
$("#addGroup").click(function(){
    __confirm_dialog_input("新建群组","群组名称","",function(dialogRef,inputValue){
        if(inputValue==""||inputValue==null){
            __toastr_error("请填写群名称");
        }else{
            createGroup(inputValue);//开始创建群组
        }
        dialogRef.close();
    });
});

/**
 * 创建群组
 * @param inputValue 群组名称
 */
function createGroup(inputValue){
    var obj = new RL_YTX.CreateGroupBuilder();
    obj.setGroupName(inputValue);//群名称
    obj.setCity(username);//城市作为创建者
    obj.setDeclared("");//群公告
    obj.setScope(1);//1临时组100人 2普通组300人 3普通组500人 4付费普通组1000人 5付费vip组2000人
    obj.setPermission(1);//是否需要验证身份 1不需要 2需要
    obj.setTarget(2);//1讨论组 2群组
    RL_YTX.createGroup(obj, function(obj){
        console.log(obj);
        var groupId = obj.data;
        addGroupHtml(groupId,inputValue,userid);
        __toastr_success("创建成功");
        showDelFriend();//一些公共的操作

    }, function(obj){
        __toastr_error("创建群组失败");
        console.log(obj);
    });
}

/**
 * 获取群组列表
 * @param isGetChatLog 是否获取聊天记录
 */
function getMyGroup(isGetChatLog){
    var obj = new RL_YTX.GetGroupListBuilder();
    obj.setPageSize(-1);//设置获取群组数量，该接口为分页接口，如果要获取全部数据，设置pageSize为-1
    obj.setTarget(2); //获取群组列表。默认为群组列表，如果要获取讨论组列表，该值传1。
    RL_YTX.getGroupList(obj, function(obj){
        console.log(obj);

        //讲群组列表添加进页面中
        $("#groupContainer").empty();
        var groupIds="";
        for(var i=0;i<obj.length;i++){
            addGroupHtml(obj[i].groupId,obj[i].name,obj[i].owner);
            groupIds+=obj[i].groupId+",";
        }
        if(isGetChatLog){
            console.log("获取了群组聊天记录");
            var url="../com/friend/getGroupChatLog";
            var params={"groupIds":groupIds};
            __ajax_get(url,params,function(data){
                var chatLog=data.chatLog;
                var length=chatLog.length;
                for(var i=0;i<length;i++){
                    addChatLogHtml(chatLog[i],chatLog[i].receiver);
                    setLastChat(chatLog[length-i-1].chatType,chatLog[length-i-1].receiver,chatLog[length-i-1].content);
                }
            });
        }
        showDelFriend();//一些公共的操作

    }, function(obj){
        console.log("获取群组列表失败");
        console.log(obj);
    });
}

/**
 * 向群组列表里添加一个群组
 * @param groupId 群组id
 * @param groupName 群组名称
 * @param groupOwner 群组群主的id
 */
function addGroupHtml(groupId,groupName,groupOwner){
    if($("[data-im-contact='"+groupId+"']").size()==0){
        var newGroup='<a href="javascript:void(0);" class="list-group-item groupBox" data-im-contact="'+groupId+'" data-im-owner="'+groupOwner+'">'+
            '<div class="media-left pos-rel">'+
            '<img class="img-circle img-xs" src="../resource/core/img/profile-photos/5.png" alt="Profile Picture">'+
            '</div>'+
            '<div class="media-body">'+
            '<p class="mar-no">'+groupName+'</p>'+
            '<span style="display: none">'+groupId+'</span>'+
            '<small class="text-muted">Availabe</small>'+
            '</div>'+
            '<span class="pull-left badge badge-info unread chatHidden">0</span>'+
            '</a>';
        $("#groupContainer").prepend(newGroup);
        //添加一个聊天窗口
        if($("[data-im-ul="+groupId+"]").size()==0){
            var newChatUl='<ul class="list-unstyled media-block chatHidden" data-im-ul="'+groupId+'"></ul>';
            $("#chatContent").append(newChatUl);
        }
    }
}

/**
 * 邀请群成员
 */
$("#groupMemberAdd").click(function(){
    __open_dialog_select('选择成员', 'member/dialogs', function (dialogRef) {
        var callback = function (data) {
            if (data) {
                dialogRef.close();

                // 获取 user
                $('#friendId').val(data.ids);
                $('#friendName').val(data.names);

                if(data.ids!=""&&data.ids!=null){
                    var members=data.ids.split(",");
                    var groupId=$("#toSend").val();
                    groupAddMember(groupId,members);
                }else{
                    __toastr_error("未选择任何人");
                }
            } else {
                dialogRef.enableButtons();
            }
        };
        fn_dialog_members_select(callback);
    });
});

/**
 * 向群组里添加成员
 * @param groupId 群组id
 * @param members 保存用户id的数组
 */
function groupAddMember(groupId,members){
    var builder = new RL_YTX.InviteJoinGroupBuilder();
    builder. setGroupId(groupId);
    builder. setMembers(members);
    builder. setConfirm(1);//是否需要对方确认（1不需要直接加入，2需要）
    RL_YTX.inviteJoinGroup(builder,function(){
        //邀请成功
        __toastr_success("邀请成功");

    },function(obj){
        //邀请成员失败
        console.log(obj);
        __toastr_error("邀请成员的状态异常");
    })
}

//点击成员列表
$("#groupMemberList").click(function(){
    var groupId=$("#toSend").val();
    getMember(groupId);
});

/**
 * 获取群成员
 * @param groupId 群组id
 */
function getMember(groupId){
    var obj = new RL_YTX.GetGroupMemberListBuilder();//新建获取群组成员列表请求对象
    obj.setGroupId(groupId);//设置群组id
    obj.setPageSize(-1);//该接口为分页接口，如果要获取全部数据，设置pageSize为-1
    RL_YTX.getGroupMemberList(obj, function(obj){
        //成功获取数据，更新页面
        console.log(obj);
        $("#groupMemberContainer").empty();
        for(var i in obj){
            var identity="";
            var out="";
            if(obj[i].role==1){
                identity='<span class="label label-primary">群主</span>&nbsp;&nbsp;&nbsp;';
            }else{
                identity='<span class="label label-success">成员</span>&nbsp;&nbsp;&nbsp;';
                var groupOwner=$("#chatTitle").attr("data-group-owner");
                if(userid==groupOwner){
                    out='<button class="btn btn-xs btn-warning pull-right outMember">踢出</button>';
                }
            }
            var member='<a class="list-group-item list-item-lg" href="javascript:void(0);" data-member-id="'+obj[i].member+'">' +
                ''+identity+' '+obj[i].nickName+''+out+'</a>';
            $("#groupMemberContainer").append(member);
        }

        //群主踢人
        $(".outMember").unbind("click").bind("click",function(){
            var memberId=$(this).parent().attr("data-member-id");
            var groupId=$("#toSend").val();
            __confirm_dialog("踢出","确定要踢出此成员吗？",function(){
                outMember(groupId,memberId);
            });

        });

    }, function(obj){
        //获取数据失败
        __toastr_error("获取成员失败");
        console.log(obj);
    });
}

/**
 * 执行踢出成员
 * @param groupId 群组id
 * @param memberId 成员id
 */
function outMember(groupId,memberId){
    var builder = new RL_YTX.DeleteGroupMemberBuilder();
    builder.setGroupId(groupId);
    builder.setMemberId(memberId);
    RL_YTX.deleteGroupMember(builder, function(){
        //踢出成功
        __toastr_success("踢出成功");
        getMember(groupId);//重新获取群成员

    },function(obj){
        //踢出失败
        __toastr_error(obj.msg);
        console.log(obj);

    });
}

/**
 * 退出群组
 * @param groupId 群id
 */
function groupQuit(groupId){
    var obj = new RL_YTX.QuitGroupBuilder();
    obj.setGroupId(groupId);
    RL_YTX.quitGroup(obj, function(){
        __toastr_success("退出成功");
        getMyGroup();
        $("#toSend").val("");
        $("#chatTitle").text("Chat");
        $("#chatTitle").attr("data-group-owner","");
        $("#groupBtn").addClass("chatHidden");
    }, function(obj){
        __toastr_error(obj.msg);

    });
}

//点击解散群
$("#groupDissolution").click(function(){
    __confirm_dialog("解散","确定要解散此群吗？",function(){
        var groupId=$("#toSend").val();
        groupDissolution(groupId);
    });
});

/**
 * 解散群
 * @param groupId 群组id
 */
function groupDissolution(groupId){
    var obj = new RL_YTX.DismissGroupBuilder();
    obj.setGroupId(groupId);
    RL_YTX.dismissGroup(obj, function(){
        __toastr_success("解散成功");
        getMyGroup(false);

    }, function(obj){
        __toastr_error(obj.msg);

    });
}

//点击群聊信息
$("#groupInfo").click(function(){
    $("#groupDeclared").attr("contenteditable","false");
    $("#declaredUpdate").addClass("chatHidden");
    if($("[data-im-contact="+$("#toSend").val()+"]").attr("data-im-owner")==userid){
        $("#declaredEdit").removeClass("chatHidden");
    }else{
        $("#declaredEdit").addClass("chatHidden");
    }
    var getGroupDetailBuilder = new RL_YTX.GetGroupDetailBuilder();
    getGroupDetailBuilder.setGroupId($("#toSend").val());
    RL_YTX.getGroupDetail(getGroupDetailBuilder, function(obj) {
        console.log(obj);
        $(".groupInfo").text("--");
        $(".groupInfo")[0].innerText=obj.groupName;//群名称
        $(".groupInfo")[1].innerHTML=obj.declared==undefined?"&nbsp;":obj.declared;//群公告
        $(".groupInfo")[2].innerText=$("#toSend").val();//群ID
        $(".groupInfo")[3].innerText=obj.city==undefined?"--":obj.city;//创建者
        $(".groupInfo")[4].innerText=formatDate(new Date(parseInt(obj.dateCreated)));//创建时间
        $(".groupInfo")[5].innerText=obj.numbers;//成员数量
    })
});

//点击编辑群公告
$("#declaredEdit").click(function(){
    $("#groupDeclared").attr("contenteditable","true");
    $("#groupDeclared").focus();
    $("#declaredEdit").addClass("chatHidden");
    $("#declaredUpdate").removeClass("chatHidden");
});

//点击确认修改群公告
$("#declaredUpdate").click(function(){
    var modifyGroupBuilder = new RL_YTX.ModifyGroupBuilder();
    modifyGroupBuilder.setGroupId($("#toSend").val());
    modifyGroupBuilder.setGroupName($(".groupInfo")[0].innerText);
    modifyGroupBuilder.setDeclared($("#groupDeclared").html());
    RL_YTX.modifyGroup(modifyGroupBuilder, function(e) {
        __toastr_success("修改成功");
        $("#declaredEdit").removeClass("chatHidden");
        $("#declaredUpdate").addClass("chatHidden");
        $("#groupDeclared").attr("contenteditable","false");
    }, function(e) {
        console.log(e);
        __toastr_error(e.msg);
    });
});


/**
 * 显示右上角系统通知
 * @param title 标题
 * @param content 内容
 */
function showNotice(title,content){
    $.niftyNoty({
        type: "primary",
        container : "floating",
        title : title,
        message : content,
        closeBtn : true,
        timer : 0
    });
}


$("#ceshi").click(function(){
    var url="../com/friend/groupInfo"
    __ajax_get(url,{},function(data){
        console.log(data);
        alert(data.responseText);
    })
});




//拖动
function drag(obj) {
    var jObj;
    if (typeof obj == "string") {
        jObj  = jQuery('#'+obj);
        var obj = document.getElementById(obj);
        obj.orig_index = obj.style.zIndex;
        //设置当前对象永远显示在最上层
    }
    obj.onmousedown = function (a) {
        //鼠标按下
        this.style.cursor = "move";
        //设置鼠标样式
        this.style.zIndex = 1000;
        var d = document;
        if (!a) a = window.event;
        //按下时创建一个事件
        var x = a.clientX - document.body.scrollLeft - obj.offsetLeft;
        //x=鼠标相对于网页的x坐标-网页被卷去的宽-待移动对象的左外边距
        var y = a.clientY - document.body.scrollTop - obj.offsetTop;
        //y=鼠标相对于网页的y左边-网页被卷去的高-待移动对象的左上边距
        d.onmousemove = function (a) {//鼠标移动
            if (!a) a = window.event;//移动时创建一个事件
            jObj.css('left', a.clientX + document.body.scrollLeft - x);
            jObj.css('top', a.clientY + document.body.scrollTop - y);
            //  obj.style.left = a.clientX + document.body.scrollLeft - x;
            //  obj.style.top = a.clientY + document.body.scrollTop - y;

        }
        d.onmouseup = function () {//鼠标放开
            document.onmousemove = null;
            document.onmouseup = null;
            obj.style.cursor = "normal";//设置放开的样式
            obj.style.zIndex = obj.orig_index;
        }
    }
}

drag("chart");